* {
  margin: 0;
  padding: 0;
}
html,
body {
  font-size: 16px; }

ul,
ol {
  margin: 0 0 1.5em 1.3em; }

li {
  margin: 0 0 0.25em 0; }

p {
  line-height: 1.5em;
  margin-bottom: 1em; }

input,
textarea {
  border: none;
  padding: 1em;
  color: black; }

.button {
  -webkit-appearance: none;
  text-decoration: none;
  cursor: pointer; }

.offscreen {
  height: 1px;
  overflow: hidden;
  text-indent: -9999px;
  display: block;
}

.bg-black {
  background-color: black; }

.bg-white {
  background-color: white; }

.white {
  color: white; }

.black {
  color: black; }

.no-margin {
  margin: 0; }

.no-padding {
  padding: 0; }

/* Margins */
.m1 {
  margin: 1em; }

.mt1 {
  margin-top: 1em; }

.mr1 {
  margin-right: 1em; }

.mb1 {
  margin-bottom: 1em; }

.ml1 {
  margin-left: 1em; }

.m2 {
  margin: 2em; }

.mt2 {
  margin-top: 2em; }

.mr2 {
  margin-right: 2em; }

.mb2 {
  margin-bottom: 2em; }

.ml2 {
  margin-left: 2em; }

.m3 {
  margin: 3em; }

.mt3 {
  margin-top: 3em; }

.mr3 {
  margin-right: 3em; }

.mb3 {
  margin-bottom: 3em; }

.ml3 {
  margin-left: 3em; }

.m4 {
  margin: 4em; }

.mt4 {
  margin-top: 4em; }

.mr4 {
  margin-right: 4em; }

.mb4 {
  margin-bottom: 4em; }

.ml4 {
  margin-left: 4em; }

.m6 {
  margin: 6em; }

.mt6 {
  margin-top: 6em; }

.mr6 {
  margin-right: 6em; }

.mb6 {
  margin-bottom: 6em; }

.ml6 {
  margin-left: 6em; }

.m8 {
  margin: 8em; }

.mt8 {
  margin-top: 8em; }

.mr8 {
  margin-right: 8em; }

.mb8 {
  margin-bottom: 8em; }

.ml8 {
  margin-left: 8em; }

.m10 {
  margin: 10em; }

.mt10 {
  margin-top: 10em; }

.mr10 {
  margin-right: 10em; }

.mb10 {
  margin-bottom: 10em; }

.ml10 {
  margin-left: 10em; }

.my-auto {
  margin-top: auto;
  margin-bottom: auto;
}

/* Padding */
.p1 {
  padding: 1em; }

.pt1 {
  padding-top: 1em; }

.pr1 {
  padding-right: 1em; }

.pb1 {
  padding-bottom: 1em; }

.pl1 {
  padding-left: 1em; }

.py1 {
  padding-top: 1em;
  padding-bottom: 1em; }

.p2 {
  padding: 2em; }

.pt2 {
  padding-top: 2em; }

.pr2 {
  padding-right: 2em; }

.pb2 {
  padding-bottom: 2em; }

.pl2 {
  padding-left: 2em; }

.py2 {
  padding-top: 2em;
  padding-bottom: 2em; }

.p3 {
  padding: 3em; }

.pt3 {
  padding-top: 3em; }

.pr3 {
  padding-right: 3em; }

.pb3 {
  padding-bottom: 3em; }

.pl3 {
  padding-left: 3em; }

.py3 {
  padding-top: 3em;
  padding-bottom: 3em; }

.p4 {
  padding: 4em; }

.pt4 {
  padding-top: 4em; }

.pr4 {
  padding-right: 4em; }

.pb4 {
  padding-bottom: 4em; }

.pl4 {
  padding-left: 4em; }

.py4 {
  padding-top: 4em;
  padding-bottom: 4em; }

.p6 {
  padding: 6em; }

.pt6 {
  padding-top: 6em; }

.pr6 {
  padding-right: 6em; }

.pb6 {
  padding-bottom: 6em; }

.pl6 {
  padding-left: 6em; }

.py6 {
  padding-top: 6em;
  padding-bottom: 6em; }

.p8 {
  padding: 8em; }

.pt8 {
  padding-top: 8em; }

.pr8 {
  padding-right: 8em; }

.pb8 {
  padding-bottom: 8em; }

.pl8 {
  padding-left: 8em; }

.py8 {
  padding-top: 8em;
  padding-bottom: 8em; }

.p10 {
  padding: 10em; }

.pt10 {
  padding-top: 10em; }

.pr10 {
  padding-right: 10em; }

.pb10 {
  padding-bottom: 10em; }

.pl10 {
  padding-left: 10em; }

.py10 {
  padding-top: 10em;
  padding-bottom: 10em; }

.clearfix:before, .clearfix:after {
  content: " ";
  display: table; }
.clearfix:after {
  clear: both; }

.clear {
  clear: both; }

.left {
  float: left; }

.right {
  float: right; }

.no-bullets {
  list-style: none;
  margin-left: 0; }

.inline-list {
  list-style: none;
  margin-left: 0; }

.inline-list li {
  display: inline; }

.width-10 {
  width: 10%; }

.width-15 {
  width: 15%; }

.width-20 {
  width: 20%; }

.width-25 {
  width: 25%; }

.width-50 {
  width: 50%; }

.width-75 {
  width: 75%; }

.width-80 {
  width: 80%; }

.full-width {
  width: 100%; }

@media (max-width: 600px) {
  .width-10,
  .width-15,
  .width-20,
  .width-25,
  .width-50,
  .width-75,
  .width-80 {
    width: 100%; } }
.small-type {
  font-size: 0.85em; }

.big-type {
  font-size: 2em;
  line-height: 1.125em; }

.line-thru {
  text-decoration: line-through; }

.no-decoration {
  text-decoration: none; }

.normal {
  font-weight: normal; }

.bold {
  font-weight: bold; }

.break-word {
  word-break: break-all;
}

/* Transitions */
.transition-all {
  transition: 0.2s ease-in-out;
  -webkit-transition: 0.2s ease-in-out;
  -moz-transition: 0.2s ease-in-out;
  -o-transition: 0.2s ease-in-out; }

.transition-opacity {
  transition: opacity 0.2s ease-in-out;
  -webkit-transition: opacity 0.2s ease-in-out;
  -moz-transition: opacity 0.2s ease-in-out;
  -o-transition: opacity 0.2s ease-in-out; }

/* Filters */
.greyscale {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
  filter: url(grayscale.svg#greyscale);
  filter: gray; }

.bg-cover {
  background-size: cover;
  -webkit-background-size: cover;
  -moz-background-size: cover; }

.bg-contain {
  -moz-background-size: contain;
  -webkit-background-size: contain;
  background-size: contain; }

.bg-center {
  background-position: center center; }

.bg-no-repeat {
  background-repeat: no-repeat; }

.border-top {
  border-top: 1px solid #121212; }

.border-bottom {
  border-bottom: 1px solid #121212; }

/* Alignment */
.align-middle {
  vertical-align: middle; }

.align-top {
  vertical-align: top; }

.center {
  text-align: center; }

.align-left {
  text-align: left; }

.align-right {
  text-align: right; }

/* Positioning */
.relative {
  position: relative; }

.absolute, .absolute-top, .absolute-right, .absolute-left {
  position: absolute; }

.fixed {
  position: fixed; }

.absolute-top {
  top: 0px;
  left: 0px; }

.absolute-right {
  top: 0px;
  right: 0px; }

.absolute-left {
  top: 0px;
  left: 0px; }

.t0 {
  top: 0px; }

.l0 {
  left: 0px; }

.r0 {
  right: 0px; }

.b0 {
  bottom: 0px; }

.full-height {
  height: 100%; }

.h100vh {
  min-height: 100vh;
}

/* Display */
.hide {
  display: none; }

.inline-block {
  display: inline-block; }

.mobile-table {
  display: table;
  table-layout: fixed;
  width: 100%; }

.mobile-table-cell {
  display: table-cell;
  vertical-align: middle; }

@media screen and (min-width: 36em) {
  .table {
    display: table;
    table-layout: fixed;
    width: 100%; }

  .table-cell {
    display: table-cell;
    vertical-align: middle; } }
.block {
  display: block; }

.border-box {
  box-sizing: border-box;
  -webkit-box-sizing: borer-box;
  -moz-box-sizing: border-box; }

/* z-index */
.z-index-1 {
  z-index: 1; }

.z-index-top {
  z-index: 300; }

.z-index-max {
  z-index: 1001; }

.container {
  max-width: 75em;
  margin-right: auto;
  margin-left: auto; }

.row {
  overflow: hidden;
  margin-right: -0.75em;
  margin-left: -0.75em; }

.col,
.col-right,
.col-center,
.mobile-col,
.px-gutter {
  box-sizing: border-box;
  padding-right: 0.75em;
  padding-left: 0.75em; }

.mobile-col {
  float: left; }

.mobile-col-1 {
  width: 8.33333%; }

.mobile-col-2 {
  width: 16.66667%; }

.mobile-col-3 {
  width: 25%; }

.mobile-col-4 {
  width: 33.33333%; }

.mobile-col-5 {
  width: 41.66667%; }

.mobile-col-6 {
  width: 50%; }

.mobile-col-7 {
  width: 58.33333%; }

.mobile-col-8 {
  width: 66.66667%; }

.mobile-col-9 {
  width: 75%; }

.mobile-col-10 {
  width: 83.33333%; }

.mobile-col-11 {
  width: 91.66667%; }

@media screen and (min-width: 36em) {
  .col {
    float: left; }

  .col-right {
    float: right; }

  .col-center {
    margin-right: auto;
    margin-left: auto; }

  .col-1 {
    width: 8.33333%; }

  .col-pre-1 {
    margin-left: 8.33333%; }

  .col-post-1 {
    margin-right: 8.33333%; }

  .col-2 {
    width: 16.66667%; }

  .col-pre-2 {
    margin-left: 16.66667%; }

  .col-post-2 {
    margin-right: 16.66667%; }

  .col-3 {
    width: 25%; }

  .col-4 {
    width: 33.33333%; }

  .col-5 {
    width: 41.66667%; }

  .col-6 {
    width: 50%; }

  .col-7 {
    width: 58.33333%; }

  .col-8 {
    width: 66.66667%; }

  .col-9 {
    width: 75%; }

  .col-10 {
    width: 83.33333%; }

  .col-11 {
    width: 91.66667%; }

  .container-col-10 {
    max-width: 62.25em;
    margin-right: auto;
    margin-left: auto; }

  .container-col-8 {
    max-width: 49.5em;
    margin-right: auto;
    margin-left: auto; }

  .container-col-6 {
    max-width: 36.75em;
    margin-right: auto;
    margin-left: auto; } }
.mobile-show {
  display: none; }

@media screen and (max-width: 36em) {
  .mobile-show,
  .mobile-block {
    display: block; }

  .mobile-hide {
    display: none; }

  .mobile-center {
    text-align: center; }

  .mobile-clear {
    float: none; } }
.clip {
  overflow: hidden; }

.hide-text {
  text-indent: -9999px; }

.opacity-0 {
  opacity: 0; }
